package cc.linker.steplink.crm.merchant.service.acs;

import cc.linker.steplink.crm.merchant.pojo.*;
import cc.linker.steplink.crm.merchanth5.pojo.WithdrawTaskPo;
import com.github.pagehelper.PageInfo;

import javax.servlet.http.HttpServletResponse;
import java.util.*;

/**
 * @Description: 联盟商家service
 * @Author: 锋
 * @Date: 2019/9/23 19:30
 * @Version: 1.9.1
 */
public interface XbMerchantService {

    Map<String, Object> getAccountInfo(String adminId, String orgId) throws Exception;

    Map<String, Object> getShopInfo(String adminId);

    BindBankInfoPo getBindBankInfo(Map<String, String> map) throws Exception;

    //@param map   adminId:用户ID PC端的，orgId当前机构号  withdrawAmount提现金额
    Object withdraw(Map<String, Object> map) throws Exception;

    //发送提现
    Boolean sendWithdaw(Map<String, Object> insertWithdrawMap, WithdrawTaskPo withdrawTaskPo, Boolean isTask);

    String checkBankSendMoney(Map<String, Object> map) throws Exception;

    String bankCardBind(Map<String, String> map) throws Exception;

    String bankCardChange(Map<String, String> map) throws Exception;

    List<TransactionDetailsPo> getTransactionDetails(Map<String, Object> params);

    void exportTransactionDetails(Map<String, Object> param, HttpServletResponse response) throws Exception;

    List<AccountSummaryPo> getAccountSummary(Map<String, Object> params);

    Map<String, Object> getAccountDetail(Map<String, Object> map);

    //2019-10-10=2019年10月10日
    void downloadAccountDetail(Map<String, Object> map, HttpServletResponse response) throws Exception;

    Map<String, Object> getGuideInfo(Map<String, Object> map);

    void displayGuide(Map<String, Object> map);

    Integer checkWithDraw(Map<String, Object> param);

    String getDongCustomerIdByUserId(String userId);

    PageInfo<Map<String, Object>> tradeList(Map<String, Object> params);

    Long getCustomerFreeze(Map<String, Object> params);

    void exportTradelist(Map<String, Object> params, HttpServletResponse response);

    void exportTradeXls(String title1, HttpServletResponse response, List<Map<String, Object>> result) throws Exception;

    String getShopName(Map<String, Object> map);

    String getShopNameAndLogo(Map<String, Object> map);
}
